<html><body>
<title>PP4E Internet examples</title>
<table><tr><td>

<img src="python_snake_ora.gif" align=left  hspace=15>

<h1>PP4E Internet examples</h1>

<p>
The links below launch various browser-based Internet examples,
which are described in the book <I>Programming Python, 4th edition</I>.
Most invoke Python-coded CGI scripts on a server machine, which will 
run only if you are running a web server.  
There are many additional Internet examples in the text (e.g., the ftp,
email, and socket programs listed below), but they are designed to be 
run from a command line, tkinter GUI, or other context, not from a 
web browser.  Also see the top level of the examples distribution 
for tkinter-based GUI demo launchers.
</p>

<tr><td>

<hr>
<H2>Browser-based examples</H2>


<H3><I>Full site examples</I></H3>
<UL>
<LI>
<A href="PyMailCGI/pymailcgi.html">
    PyMailCGI: a POP/SMTP web-based email tool</A> (see book for start-up)
<LI>
<A href="PyErrata/pyerrata.html">
    PyErrata: an automated error reporting system</A> (2nd Edition example)
</UL>


<H3><I>General CGI examples</I></H3>
<UL>
<LI>
<A href="languages.html">
    languages.html: Hello World in various languages</A>
<LI>
<A href="putfile.html">
    putfile.html: Upload files to this site by HTTP</A>
<LI>
<A href="getfile.html">
    getfile.html: View any source file on this site</A>
</UL>


<H3><I>CGI tutorial examples</I></H3>
<UL>
<LI>
<A href="tutor0.html">
    tutor0.html: A simple page, defined by an HTML file</A>
<LI>
<A href="cgi-bin/tutor0.py">
    tutor0.py: Same, but generated by a Python CGI script</A>
<LI>
<A href="cgi-bin/tutor1.py">
    tutor1.py: Add an image, made by a Python CGI script</A>
<LI> 
<A href="cgi-bin/tutor2.py">
    tutor2.py: Generate a table in a Python CGI script</A>
<LI>
<A href="tutor3.html">
    tutor3.html: A simple input form and CGI reply script</A>
<LI>
<A href="tutor4.html">
    tutor4.html: Similar, but use tables for form layout</A>
<LI>
<A href="tutor5a.html">
    tutor5a.html: Demo common form input devices</A>
<LI>
<A href="tutor5b.html">
    tutor5b.html: Same CGI script, alternative layout</A>
<LI>
<A href="tutor5c.html">
    tutor5c.html: Same CGI script, inputs passed in URL</A>
<LI>
<A href="tutor5d.html">
    tutor5d.html: Same CGI script, inputs passed in hidden form fields</A>
<LI>
<A href="cgi-bin/tutor5_mockup.py">
    tutor5_mockup.py: Same CGI script, inputs simulated</A>
</UL>


<H2>See also in the Internet parent directory</H2> 
<UL>
<LI>Socket/ - socket examples: thread-server, fork-server, getfile,...
<LI>Ftp/ - ftp examples: mirror, upload, mirrors, sousa,...
<LI>Other/ - http, news, urllib,...
<LI>Email/ - email processing scripts: pop/smtp, pymail,...
<LI>Email/PyMailGui/ - the PyMailGUI Tkinter-based email client program
</UL>
<hr>
<A href="http://www.python.org">
<IMG SRC="PythonPoweredSmall.gif" ALIGN=left   
ALT="[Python Logo]" border=0 hspace=15></A> 

Links: <A href="http://rmi.net/~lutz">Author</A> | 
       <A href="http://rmi.net/~lutz/about-pp.html">Book</A> | 
       <A href="http://www.python.org">Python</A> | 
       <A href="http://www.oreilly.com">O'Reilly</A>

</table></body></html>

